/* ============================================================================
* 功能描述 ：time函数实现
* 作者       ：ggls
* 创建日期 ：2024.5.22
* ----------------------------------------------------------------------------
* 更新历史 ：
*	日期 　　- 修改者   : 更新内容描述
*
* ============================================================================
*/

#include "main.h"
/* TMR0初始化 */
void TMR0_Config(void)
{
    /*
    (1)设置Timer的运行模式
    */
    TMR_ConfigRunMode(TMR0, TMR_MODE_TIMING,TMR_TIM_16BIT);	
    /*
    (2)设置Timer 运行时钟
    */
    TMR_ConfigTimerClk(TMR0, TMR_CLK_DIV_12);					/*Fsys = 24Mhz，Ftimer = 2Mhz,Ttmr=0.5us*/
    /*
    (3)设置Timer周期
    */	
    TMR_ConfigTimerPeriod(TMR0, (65535-2000)>>8, 65535-2000); 				// 2000*0.5us = 1000us,递增计数
        
    /*
    (4)开启中断
    */
    TMR_EnableOverflowInt(TMR0);

    /*
    (5)设置Timer中断优先级
    */	
    IRQ_SET_PRIORITY(IRQ_TMR0,IRQ_PRIORITY_LOW);
    

    /*
    (6)开启Timer
    */
    TMR_Start(TMR0);
}

/* 唤醒时钟初始化 */
void LSE_Config(void)
{
	/*
	(1)开启LSE
	*/
	LSE_EnableLSE();
	/*
	(2)等待LSE稳定
	*/
	while( !LSE_GetLSEState());
	/*
	(3)设置LSE定时时间
	*/	
	LSE_ConfigLSE(32767);		//定时：1s
	/*
	(5)设置LSE定时唤醒
	*/		
	LSE_EnableLSEWakeup();
	/*
	(6)设置LSE定时中断
	*/	
	LSE_EnableLSEInt();
	IRQ_SET_PRIORITY(IRQ_LSE, IRQ_PRIORITY_HIGH);
	IRQ_ALL_ENABLE();	
	/*
	(7)开启LSE计数
	*/	
	LSE_Start();
	
}


